import { RuleSetObject } from "@smithy/util-endpoints";

export const uri_encode:RuleSetObject = {
  "version": "1.3",
  "parameters": {
    "TestCaseId": {
      "type": "string",
      "required": true,
      "documentation": "Test case id used to select the test case to use"
    },
    "Input": {
      "type": "string",
      "required": true,
      "documentation": "the input used to test uriEncode"
    }
  },
  "rules": [
    {
      "documentation": "uriEncode on input",
      "conditions": [
        {
          "fn": "stringEquals",
          "argv": ["{TestCaseId}", "1"]
        },
        {
          "fn": "uriEncode",
          "argv": ["{Input}"],
          "assign": "output"
        }
      ],
      "error": "The value is: `{output}`",
      "type": "error"
    },
    {
      "documentation": "fallback when no tests match",
      "conditions": [],
      "error": "No tests matched",
      "type": "error"
    }
  ]
}
